#include <ESP8266WiFi.h>
#include <WiFiClient.h> 
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>


const char *ssid = "TP-Link_688A";
const char *password = "debarbamiguel";
const int http_port = 8080;

WiFiClient client;
#define D7    13 //dht
#define D1    5 //pushbuttom
#define D3    0 // LED


void setup() {
  pinMode(D3,OUTPUT);
  pinMode(D1,INPUT);
  digitalWrite(D3,LOW);  
  Serial.begin(115200);
  WiFi.mode(WIFI_OFF);delay(1000);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);Serial.println(".");
  Serial.print("Conectando...");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);Serial.print(".");}
    Serial.println ("");
    Serial.print ("Conectado a ");Serial.println (ssid);
    Serial.print ("EndereÃ§o IP: ");Serial.println (WiFi.localIP ());
    Serial.print("MAC: ");    Serial.println(WiFi.macAddress());    
}
void EnviaServer(String postData) {
  HTTPClient http;

  String servidores[3] = {
    "http://modulo8.migueldebarba.com.br/grupod/ryan/insertleitura.php",
    "http://modulo8.migueldebarba.com.br/grupoe/emily/insertleitura.php",
    "http://modulo8.migueldebarba.com.br/miguel/insertleitura.php"
  };

  for (int i = 0; i < 3; i++) {
    // Inicializa a requisicao HTTP
    if (http.begin(client, servidores[i])) {
      http.addHeader("Content-Type", "application/x-www-form-urlencoded");
     
      int httpCode = http.POST(postData);
      String payload = http.getString();

      Serial.println("----------------------------------------");
      Serial.println("Servidor: " + servidores[i]);
      Serial.println("httpCode: " + String(httpCode));
      Serial.println("Resposta: " + payload);

      http.end();
    } else {
      Serial.println("Falha ao conectar no servidor: " + servidores[i]);
    }
  }
}

void loop() {
 
  String idmac = WiFi.macAddress();    
  String from = "ESP8266";   
  String nome="Prova Emily e Ryan";

  float temperatura = random(0, 55);
  float umidade = random(0, 100);
  float luz = random(0, 1024);
  float valor = random(0, 1024);
  //ryan
  float distancia_km = random(0, 100);
  float volume_l = random(0, 50);
  float longitude_l = random(0, 200);
  //emily
  float longitude_n = random(0, 400);
  float ladoum_cm = random(0, 100);
  float consumo_l = random(0, 100);


  String postData = "idmac=" + String(idmac)
                  + "&nome=" + String(nome)
                  + "&valor=" + String(valor)
                  + "&from=" + String(from)
                  //ryan
                  + "&distancia_km=" + String(distancia_km)
                  + "&volume_l=" + String(volume_l)
                  + "&longitude_l=" + String(longitude_l)
                  //emily
                  + "&longitude_n=" + String(longitude_n)
                  + "&ladoum_cm=" + String(ladoum_cm)
                  + "&consumo_l=" + String(consumo_l);

  EnviaServer(postData);
 
  // Aguarda 5 segundos antes de fazer a proxima leitura
  delay(5000);
}

